With the increased popularity of mobile devices, it is often times challenging to create a seamless application developer and user interaction across a diverse set of such mobile devices running different software platform releases. For example, if a developer includes developer application programming interfaces (APIs) in the device software platform itself, then the developer experience is fragmented by each platform release having different APIs and capabilities. For example, an older version of a mobile device software platform may utilize one method of handling authentication tokens, while a subsequent version of the software platform may use a different method. In this regard, each application developer then has to implement the specific feature being addressed by a given API multiple times to cover the breadth of available devices working under different software platforms.
Additionally, if developer APIs are included in client libraries bundled with applications, then those client libraries can be running at different version levels on a single mobile device, creating a fragmented user experience since the same feature will be covered by different APIs running under different client library versions. For example, a video player may be included as a client library inside applications A and B installed on a mobile device. However, application A may have an old version of the client library implementing an older version of the video player with a slightly different user interface than the newer version of the video player that is being implemented by a more recent client library used in application B.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such approaches with some aspects of the present method and apparatus set forth in the remainder of this disclosure with reference to the drawings.